package io;

import java.io.File;
import java.util.Scanner;

public class Demo11 {
    public static void main(String[] args) {
        //1.输入必要的信息
        Scanner scanner= new Scanner(System.in);
        System.out.println("请输入要搜索的目录:");
        String rootPath=scanner.next();
        System.out.println("请输入要查询的词:");
        String searchWord=scanner.next();
        //2.构造File对象,检查路径是否合法
        File file= new File(rootPath);
        if (!file.isDirectory()){
            System.out.println("输入的路径非法");
            return;
        }
        //3.进行递归搜索
        searchFile(file,searchWord);


    }

    private static void searchFile(File file, String searchWord) {
        //1.列出当前目录中有那些内容
        File[] files= file.listFiles();
        if (files==null){
            return;
        }
        //2.遍历目录下的每个结果,进行判定
        for (File file1:files) {
            if (file1.isFile()){
                //如果是普通文件就判定文件名是否包含查询词\
                String fileName=file1.getName();
                if (fileName.contains(searchWord)){
                    //当前文件即为所求
                    System.out.println("找到匹配结果:"+file1.getAbsoluteFile());
                }
            }else if (file1.isDirectory()){
                //针对子目录进一步递归D:\
                searchFile(file1,searchWord);
            }

        }
    }
}
